package dao;

import java.util.List;

import org.hibernate.HibernateException;

import entity.CategoriaDespesaENT;
import entity.UsuarioENT;


public class CategoriaDespesaDAO extends GenericDAO {

	@SuppressWarnings("unchecked")
	public List<CategoriaDespesaENT> getAllDespesas() {
		
		try {
			String sql = "select * from categoria_despesa ";
			query = sessao.createSQLQuery(sql).addEntity(CategoriaDespesaENT.class);			
			
			if(query.list().isEmpty()){
				return null;				
			}else{
				return query.list();
			}			
		} catch (HibernateException e) {
			System.out.println("Erro encontrado:"+getClass().toString()+" Mesagem de Erro: "+e.toString());			 
			return null;
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<CategoriaDespesaENT> getCategoriaDespesa(UsuarioENT usuario) {
		
		try {
			query = sessao.getNamedQuery("getCategoriaDespesa");
			query.setParameter("id_usuario", usuario.getId() );
			
			if(query.list().isEmpty()){
				return null;				
			}else{
				return query.list();
			}			
		} catch (HibernateException e) {
			System.out.println("Erro encontrado:"+getClass().toString()+" Mesagem de Erro: "+e.toString());			 
			return null;
		}
	}
	
	public CategoriaDespesaENT getCategoriaDepesaId(int id) {
		
		try {
			query = sessao.getNamedQuery("getCategoriaDespesaId");
			query.setParameter("id", id );
			
			if(query.list().isEmpty()){
				return null;				
			}else{
				return (CategoriaDespesaENT) query.list().get(0);
			}			
		} catch (HibernateException e) {
			System.out.println("Erro encontrado:"+getClass().toString()+" Mesagem de Erro: "+e.toString());			 
			return null;
		}
	}
	
	public CategoriaDespesaDAO() {
		// TODO Auto-generated constructor stub
	}

}
